#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout << "Введите слова через пробел:" << endl;
    string s;
    getline(cin, s);
    int count_words = 0;
    for (char sym: s){
        if (sym == ' ') {
            count_words += 1;
        }
    }
    count_words += 1;
    if (count_words <= 1){
            cout << "Мало данных для анализа";
            return 0;
    }

    cout << "Кол-во слов: " << count_words << endl;

    string words[count_words] = {};
    int j = 0;
    string word = "";
    for (int i = 0; i <= s.size(); i++) {
        if (i == s.size()) words[j] = word;
        if (s[i] == ' '){
            words[j] = word;
            word = "";
            j = j + 1;
        }
        else {
            word += s[i];
        }
    }

    int count_kiril = 0;
    for (string word: words){
        if (int(word[0]) >= int('А') && int(word[0]) <= int('Я')) {
            count_kiril += 1;
        }
    }
    cout << "Кол-во слов с заглавной кириллической буквы: " << count_kiril << endl;

    int count_latin = 0;
    for (string word: words){
            for (int i = 0; i <= word.size(); i++){
            if (word[i] >= 'A' && word[i] <= 'z') {
                count_latin += 1;
                break;
            }
        }
    }
    cout << "Кол-во слов содержащих латинский символ: " << count_latin << endl;

    int count_len3 = 0;
    for (string word: words){
        if (word.size() <= 3){
            count_len3 += 1;
        }
    }
    cout << "Кол-во слов не превышающих 3 символа: " << count_len3 << endl;

    int count_def = 0;
    for (string word: words){
            for (int i = 0; i <= word.size(); i++){
            if (word[i] == '-') {
                count_def += 1;
                break;
            }
        }
    }
    cout << "Кол-во слов в составе которых имеется дефис: " << count_def << endl;

    string maxword;
    for (string word: words){
            if (word.size() > maxword.size()) {
                maxword = word;
        }
    }
    cout << endl;
    cout << "Самое длинное слово: " << maxword << endl;
    cout << "Длина слова: " << maxword.size() << endl;

    return 0;

}
